#include <stdio.h>
#include<string.h>

// 主要是去介绍这两个接口(函数),可以大范围地去读字符串和写字符串
// fgets同样是读取操作，可以和fgetc类比，但是它可以读取多个字符传参[num-1]
// fgets读到行末就会结束

// 一次读一行
int main()
{
	// a+ 相当于 r+ 来说，会自动创建文件，在读取时无差异，写入时自动会将位置指针偏移到末尾(不会导致覆盖直接续写)
	FILE* fp = fopen("file.txt", "a+");  //打开可读可写
	if (fp == NULL)
	{
		perror("fopen"); //perror可以返回最近函数的错误类型，很常用
		return -1;
	}
	char buf[1024] = { 0 };
	char* res = (char*)calloc(1, sizeof(char) * 1024);  //calloc会自动帮助初始化(赋终止符0或者设置成NULL)
	res = fgets(buf, sizeof(buf), fp);  //res和buf应该要获得相同的值，包含\n在内的第一行
	//while (fgets(buf, sizeof(buf), fp))
	//{
	//	printf("%s", buf);
	//{
	fseek(fp, 0, SEEK_CUR);  //windows自己搞的
	fputs("王道", fp);  // fputs可以完全由fwrite替代
	fclose(fp);
}